iT邦幫忙

2025 iThome 鐵人賽

0
Security

Hack the Boyfriend: 為了 CTF 帥哥,我貢獻了我的肝臟系列 第 27

曖昧太久,不想玩了!Named Pipe 專屬通道

  • 分享至 

  • xImage
  •  

可以不玩了嗎?


她盯著那條名為 \\.\pipe\svcctl 的 Pipe,心裡想著:

「曖昧太久,不想玩了!」

明明只要雙方同意,就能透過這條專屬通道交換所有訊息。

可是他總是丟一半的封包,回應卻延遲,像是永遠在忙,永遠不肯建立穩定的 session。

她嘆口氣,把這段心事想成技術筆記:

  • svcctl → 可以遠端啟動服務,像是她渴望能被認真啟動一次。

  • atsvc → 能建立排程,卻總是「延遲執行」,就像他的承諾一樣。

  • winreg → 改變登錄值,就像她不斷調整自己,只求能符合他的設定。

可最後,她決定關閉這條 Named Pipe。
「這不是共享,這只是單向的封包。」

於是她下定決心,closehandle(),把通道釋放掉。

不玩這場曖昧的遊戲了。


技術筆記:Named Pipe、svcctl 與 PSEXESVC

什麼是 Named Pipe?

白話解釋:

想像它是一條「水管」,兩個程式可以透過這條管道傳紙條、送資料。

位置:

在 Windows 裡,Named Pipe 的路徑通常長得像這樣:

\\.\pipe\pipename

\.\pipe\ 是固定的開頭,表示「這台機器上的命名管道」。

pipename 就是具體的管道名稱,例如 svcctl、atsvc、winreg。

範例:

  • \.\pipe\svcctl : 用來遠端控制 Windows Service(Service Control Manager,SCM)。

  • \.\pipe\atsvc : 用來建立排程工作(Task Scheduler)。

  • \.\pipe\winreg : 用來存取 Windows Registry。

日常例子:

  • A 程式寫進去「哈囉」,B 程式就能從另一頭聽到「哈囉」。

  • 有點像兩個房間用紙杯電話在講話。


什麼是 svcctl

白話解釋:

它是 Windows 服務控制總管(Service Control Manager, SCM)的「專用電話線」。

用途:

管理員用它來跟系統說:

  • 「幫我啟動 A 服務」

  • 「把 B 服務停掉」

  • 「新加一個服務」

位置:

\\.\pipe\svcctl 

比喻:

就像大樓的總管櫃台,有專線可以打去要求「開電梯」or「關冷氣」。


什麼是 PSEXESVC.exe

白話解釋:

它是 PsExec 這個遠端工具在目標電腦上臨時安裝的一個小幫手(service)。

PsExec: https://learn.microsoft.com/zh-tw/sysinternals/downloads/psexec

做什麼:

  1. 管理員要遠端執行指令 → PsExec 先把 PSEXESVC.exe 丟到對方電腦。

  2. 這個小幫手會被啟動,開一條自己的管道(例如 \\.\pipe\psexesvc)。

  3. 管理端透過這條管道,送指令進去,接收執行結果。

  4. 用完就會被移除或停掉。

比喻:

像是請一個臨時工來幫忙搬東西,事情做完,他就消失了。跟渣男一樣。


PSEXESVC 跟 svcctl 的關係

白話流程:

  1. PsExec 想要在遠端跑程式 → 它會透過 svcctl(服務總管專線)去跟系統說:「請幫我登記一個新服務(PSEXESVC)」

  2. 系統同意後,就會看到 新服務被建立

  3. PSEXESVC 啟動後,自己開一條新的 Named Pipe 來做溝通。


小語

# 我決定放棄你了,我不喜歡這種模糊不清的感覺。

上一篇
疲累之中不小心中斷比賽了,直接來複習 Remote Services 吧!
下一篇
內耗仔的 proxychains4:把戀愛腦重導到工作上就好
系列文
Hack the Boyfriend: 為了 CTF 帥哥,我貢獻了我的肝臟28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言